package com.mkj.listener;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * @Author Arrebol
 * @Date 2024/8/4 12:47
 * @Project graphical programming
 * @Description： 使用WindowListener事件监听器监听用户点击画面右上角x号的动作，届时执行关闭画面的操作
 */
public class ListenerDemo2 {
    public static void main(String[] args) {
        Frame frame = new Frame("这里测试WindowListener");
        frame.setBounds(200, 200, 500, 300);
        //设置WindowListener
        /**
         * 这里使用了设计模式之适配器设计模式，
         * 如果一个接口中声明的方法有很多，但是在某个场景下我们只想重写其中的一个方法，
         * 就可以使用适配器进行实现，适配器默认给这个接口的所有方法空实现，
         * 所以我们只需要在函数参数中传入适配器对象，重写我们需要的那个方法即可。
         */
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                //停止当前程序即可
                System.exit(0);
            }
        });
        frame.setVisible(true);
    }
}
